Package-level declarations
Types
Parses a Batched 3D Model payload. The container wraps a glTF GLB binary; this loader is essentially Ogc3dHeader + FeatureTable + BatchTable + GlbReader + GltfReader glued together with the RTC_CENTER, batch length, and per-feature properties extracted into B3dmPayload.
Decoded b3dm payload: the embedded glTF + feature table (for RTC_CENTER + optional gltfUpAxis override) + the batch table. The renderer applies rtcCenter as an extra translation when present — per spec, b3dm authors may offset every vertex by a tile- relative center to keep numerical precision tight at city scale.
Parsed b3dm / i3dm batch table indexed by batchId. JSON-array columns are decoded; binary accessor columns require the caller to follow jsonRoot / binary by hand.
Composite (cmpt) header — 16 bytes, no feature/batch tables. The payload is a concatenation of tilesLength inner tile binaries, each itself a b3dm/i3dm/pnts/cmpt.
One sub-payload extracted from a Composite container — the magic plus the raw bytes of that sub-payload. Callers route by magic to the right loader (b3dm / i3dm / pnts / cmpt; nested cmpt is allowed by the spec and re-enters CmptLoader.parse).
Splits a Composite (cmpt) container into its inner tiles. The format is:
Parsed feature + batch tables from a 3D Tiles container. Each table has a JSON section describing per-feature scalars (or accessor references) and a binary section holding the raw values referenced by the JSON.
Parses an Instanced 3D Model payload. The i3dm header is 32 bytes (the standard 28-byte 3D Tiles header plus a uint32 gltfFormat field at offset 28). Only the embedded-GLB form (gltfFormat == 1) is supported — the legacy URL form is rejected.
Decoded i3dm payload: a shared glTF mesh + a flat list of per-instance transforms. Renderer emits one instanced draw call (or instancesLength non-instanced draws on platforms without glDrawElementsInstanced).
Common header shared by every binary 3D Tiles container (b3dm / i3dm / pnts). 28 bytes:
Parses a Point Cloud (pnts) payload. Header is the standard 28-byte Ogc3dHeader; the format-specific body is the feature-table-described point cloud.
Decoded pnts (Point Cloud) payload. All position arrays are flattened tile-local [x0, y0, z0, x1, y1, z1, ...] Float32. Colors are flattened RGBA Uint8 (4 bytes per point) regardless of the wire format (RGB / RGBA / CONSTANT_RGBA all normalise to RGBA).